Programmable logic devices are well known, having an array of programmable logic elements. The functionality of these logic elements, and their interconnections with the input/output blocks of the device, can be configured on the basis of configuration data.
Typically, the configuration data is stored in an external memory device, which is connected to the programmable logic device, and the configuration data is then downloaded into the programmable logic device. The programmable logic device is then configured on the basis of the downloaded configuration data, and the programmable logic device can perform its intended function.
One major advantage of programmable logic devices, compared with other ways of providing the same functionality, such as hard-wired integrated circuits, is that they can be reconfigured, either partially or wholly, after manufacture.
However, there remains the disadvantage that this reconfiguration occupies a time period, which may last for tens or hundreds of milliseconds, during which time the device may not be fully operational. For some applications, this reconfiguration time may be an obstacle to the intended use of the device.